const formatTime = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

const formatDate = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()

  return [year, month, day].map(formatNumber).join('-')
}

const formatYYYYMM = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1

  return [year, month].map(formatNumber).join('-')
}

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : '0' + n
}

const isNumber = str => {
  let regex = /^\d+.?\d*$/i
  if(str.length == 0 || regex.test(str)) {
    return true
  } else {
    return false
  }
}

const isDigital = str => {
  let regex = /^\d+$/i
  if(str.length == 0 || regex.test(str)) {
    return true
  } else {
    return false
  }
}

module.exports = {
  formatTime,
  formatDate,
  formatYYYYMM,
  isNumber,
  isDigital
}
